home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / prog / aitools.zip / MANUAL.ESI < prev    next >
Text File  |  1986-10-16  |  53KB  |  1,376 lines

  1.  
  2.        
  3.          
  4.            
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.                                       ESIE
  14.  
  15.     
  16.                        The Expert System Inference Engine
  17.  
  18.  
  19.                               Knowledge Engineer's
  20.  
  21.  
  22.                                      Manual
  23.          
  24.          
  25.          
  26.          
  27.          
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.          
  35.          
  36.          
  37.          Lightwave Consultants                           August 1985
  38.          P.O. Box 290539
  39.          Tampa, FL  33617
  40.          
  41.          
  42.          
  43.          
  44.  
  45.          
  46.          
  47.                       Copyright 1985, All Rights Reserved.
  48.                                              
  49.          The ESIE distribution diskette, of which this manual is one 
  50.          file, may be freely copied and distributed.  Printed copies 
  51.          of this manual, or this manual without the rest of the files 
  52.          on the distribution diskette, may not be copied or reproduced 
  53.          in any form. 
  54.          
  55.  
  56.                                                                 Page 2
  57.  
  58.          
  59.                                Table of Contents
  60.                           
  61.          
  62.          Introduction  . . . . . . . . . . . . . . . . . . . . . .  3
  63.          
  64.          What is Shareware?  . . . . . . . . . . . . . . . . . . .  4
  65.          
  66.          What is ESIE? . . . . . . . . . . . . . . . . . . . . . .  5
  67.          
  68.          Why ESIE? . . . . . . . . . . . . . . . . . . . . . . . .  6
  69.  
  70.          ESIE Requirements . . . . . . . . . . . . . . . . . . . .  9
  71.          
  72.          The ESIE Distribution Diskette  . . . . . . . . . . . . . 11
  73.          
  74.          Starting ESIE . . . . . . . . . . . . . . . . . . . . . . 12
  75.          
  76.          The ESIE Top Level  . . . . . . . . . . . . . . . . . . . 13
  77.          
  78.          The ESIE Rule Structure . . . . . . . . . . . . . . . . . 14
  79.          
  80.          Some Example Knowledge Bases  . . . . . . . . . . . . . . 18
  81.          
  82.          Building Your Own Knowledge Base  . . . . . . . . . . . . 20
  83.          
  84.          What Happens During a Consultation  . . . . . . . . . . . 22
  85.  
  86.          Paying For and Obtaining the Next Version of ESIE . . . . 23
  87.          
  88.          Planned Enhancements to ESIE  . . . . . . . . . . . . . . 24
  89.          
  90.          Bibliography  . . . . . . . . . . . . . . . . . . . . . . 25
  91.          
  92.          Biography . . . . . . . . . . . . . . . . . . . . . . . . 26
  93.          
  94.          
  95.          
  96.          
  97.          
  98.          
  99.          
  100.          
  101.          
  102.                                    For Helen
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.                                                                 Page 3
  112.  
  113.          
  114.                                   Introduction
  115.                      
  116.          
  117.          ESIE (pronounced "easy") is the acronym for Expert System 
  118.          Inference Engine.  ESIE is, according to many people working 
  119.          in Artificial Intelligence, an "expert system shell." 
  120.          
  121.          With ESIE you can put some "smarts" into your personal 
  122.          computer.  You can build custom "knowledge bases" (KBs) that 
  123.          can be used to aid people, like you and me, in doing things 
  124.          that we would not be capable of doing, or doing as well, 
  125.          without the system.  ESIE knowledge bases can be built to 
  126.          help us make decisions or make our computers "more human." 
  127.          
  128.          This manual is designed for the person who already has some 
  129.          experience in the field of Artificial Intelligence (AI).  If 
  130.          this applies to you - then hi! - we probably met somewhere.  
  131.          If not I urge you to print and read the files TUTOR and 
  132.          HISTORY which will give you: a small history and working 
  133.          knowledge of AI, help you learn about ESIE, give you enough 
  134.          information to build your own knowledge bases, and provide 
  135.          some tips for building better knowledge bases in the future.  
  136.          If you only intend on using ESIE with a knowledge base 
  137.          written for you, then you need only print and read the file 
  138.          USER. 
  139.          
  140.          For those for whom this manual was intended I expect that you 
  141.          will have done some work, or at least some reading, in 
  142.          knowledge based applications.  I can only assume that you 
  143.          know something about rule structures, knowledge 
  144.          representation, and inferencing.  If you need to bone up on 
  145.          this information, might I suggest that you scan over the file 
  146.          TUTOR? 
  147.          
  148.          In any case, welcome to ESIE.  ESIE is my own work and I take 
  149.          full responsibility for its abilities and its shortcomings. 
  150.          
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.                                                                 Page 4
  167.  
  168.          
  169.                                What Is Shareware?
  170.          
  171.          
  172.          Shareware is a software distribution concept.  In shareware, 
  173.          it is believed: that people will pay for something they find 
  174.          useful, that most software costs too much, that copy 
  175.          protection schemes can sometimes be frustrating even to the 
  176.          most honest user, and that software users want to support 
  177.          software authors while not necessarily supporting the 
  178.          software middle men.  
  179.  
  180.          Shareware is a marketing concept.  The term was probably 
  181.          originally coined by Bob Wallace of Quicksoft, Inc.  Mr. 
  182.          Wallace wrote PC-Write (c), a shareware full-feature text 
  183.          editor.  I personally like PC-Write and prefer it as my own 
  184.          editor.  I believe you will find PC-Write useful and to that 
  185.          end I will send you a copy of it if you "pay" for ESIE at the 
  186.          $145 level.  Many of the Shareware ideas in ESIE come 
  187.          directly from PC-Write(c) and I offer my public thanks. 
  188.          
  189.          ESIE is distributed under the Shareware concept.  You receive 
  190.          the software first, from whatever source that may be, and pay 
  191.          only what you think the software is worth.  You are free, and 
  192.          encouraged, to share copies of the distribution diskette with 
  193.          others. 
  194.          
  195.          ESIE is marketed under the shareware concept.  I prefer to 
  196.          think of ESIE as living software: software that continues to 
  197.          develop and get better, more powerful.  I believe ESIE is a 
  198.          useful tool as it is, but can be improved.  However, support 
  199.          for living software must come from somebody.  Even software 
  200.          authors and AI researchers can't live on discovery and love 
  201.          alone.  In shareware this support comes from you - the user. 
  202.          
  203.          If you feel that ESIE is useful to you, send what your 
  204.          conscience dictates.  ESIE is paid for on the honor system.  
  205.          However, if you send at least $75 you will receive the most 
  206.          recent version of ESIE, free.  If you send at least $145 you 
  207.          will receive: the most recent version of ESIE, fully  
  208.          commented source code for ESIE (ESIE was written in Pascal), 
  209.          my sincere thanks for your support, a copy of PC-Write (c) - 
  210.          a shareware full-feature text editor fully compatible with 
  211.          ESIE, and access to a help line, all free. 
  212.          
  213.          Your comments towards ESIE are solicited even if you do not 
  214.          desire support.  For this, please print and fill out the file 
  215.          FORM and send it in.  Mail and money for ESIE can be sent to: 
  216.          Lightwave Consultants; P.O. Box 290539; Tampa, FL 33617. 
  217.  
  218.  
  219.  
  220.  
  221.                                                                 Page 5
  222.  
  223.  
  224.                                  What Is ESIE?
  225.          
  226.  
  227.          ESIE is the acronym for Expert System Inference Engine, and 
  228.          that is exactly what it is.  ESIE loads in a knowledge base, 
  229.          and builds inferences out of the rules contained therein, to 
  230.          act like an Advisor.  It is an Artificial Intelligence expert 
  231.          system shell.  An infinite multitude of knowledge bases can 
  232.          be used by ESIE. 
  233.          
  234.          The normal gamut of expert systems (ES) can be built for and 
  235.          used by ESIE.  Tools such as system configurators, medical 
  236.          experts, oil and gas exploration, etc, can all be done in 
  237.          ESIE.  ESIE is a rule-based backward chaining inference 
  238.          engine. 
  239.          
  240.          The acronym was also selected because ESIE is easy to use.  
  241.          If you are like me, then you've pulled out more than a few 
  242.          hairs trying to work with the complexity of most ES shells 
  243.          (ESS) available today.  I can vividly remember thinking, 
  244.          "They've got to be kidding" with at least three different 
  245.          ESSs.  Further, I am sure that if I uncovered one more 
  246.          "undiscovered" bug in an ESS that I would be a permanent 
  247.          resident at Bellevue. 
  248.          
  249.          ESIE is not like that.  It's easy to use and easy to learn.  
  250.          It's a fairly simple system so that I feel good about the 
  251.          testing and debugging that went into ESIE.  Since ESIE was 
  252.          written in Pascal, and not a pirated version of something 
  253.          hard to debug, like Prolog, it should hold you in good stead. 
  254.          
  255.          If you were, or are, currently working for a corporation or 
  256.          university then you are also aware of the difficulty in 
  257.          getting management approval for a very expensive piece of 
  258.          equipment.  ESIE is built to put some competitiveness into 
  259.          the ESS market.  ESIE is very inexpensive and rivals many 
  260.          ESSs in power and it beats nearly all in speed.  The 
  261.          shareware distribution concept fits that definition well.  
  262.          Knowledge based inference engines have a rather small market 
  263.          at present, but that soon may change.  The advent of low cost 
  264.          and readily available software might help the spread and 
  265.          acceptance of AI. 
  266.          
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.                                                                 Page 6
  277.          
  278.          
  279.                                    Why ESIE?
  280.          
  281.          
  282.          Why did I build ESIE?  Well, there are lots of reasons, and 
  283.          one of the most important is cost.  Since you are a qualified 
  284.          AI person you are well aware of how much systems can cost.  
  285.  
  286.          The best LISP processor in existence today will cost you more 
  287.          than $100,000.00 per person.  Software and development time 
  288.          to build any expert system can jack the price up 
  289.          substantially.  Now say you have targeted an area that looks 
  290.          pretty applicable to be "AIed."  You know that when the 
  291.          system is complete you will want to install it in, say, fifty 
  292.          locations.  You take six months to develop the first working 
  293.          model and spend $450,000.00 doing it.  After you install your 
  294.          fifty stations you realize you have just spent $6,700,000.00.  
  295.          
  296.          Your Vice President, in charge of new technology, unhooks his 
  297.          Thompson Automatic from the showcase wall and commits a most 
  298.          unnatural form of suicide.  You would have to be working in 
  299.          some very high stakes game in order to recoup 6.7 million 
  300.          dollars through an expert system.  Do you think the fifty 
  301.          installation points was to small?  The numbers only get worse 
  302.          if you add more stations.  The real cost to you comes in the 
  303.          form of specialized processors and software to run them. 
  304.          
  305.          Many AI departments that I know of realize the problems 
  306.          inherent in a high stakes game of specialized processors, 
  307.          especially when the field is a new one to the company and the 
  308.          department.  Therefore, many groups are turning towards 
  309.          existing hardware to meet their processing needs.  Wisely, 
  310.          many are choosing micro computers because cost of 
  311.          installation is drastically reduced, and in many cases micros 
  312.          already exist at the target.  This makes the cost of 
  313.          installation equal to development cost plus software cost. 
  314.          
  315.          Great.  So lets look at personal computer software cost.  
  316.          Believe it or not, there is quite a bit of AI software out 
  317.          there for personal computers.  I have some kind of problem 
  318.          with all of it.  Cost is still the biggest factor.  Let's 
  319.          pick a popular price for an ESS in the marketplace: 
  320.          $12,000.00.  Now your installation cost is way down, and 
  321.          because the package is a little more personal and available 
  322.          to your researchers, you are able to complete initial 
  323.          development in five months and spend $350,000.00.  Now you 
  324.          install the system in your fifty locations, and you are 
  325.          lucky: every one of them has a personal computer available.  
  326.          You step back to admire your handiwork and realize you have 
  327.          just spent $950,000.00.  The head of your department leaves 
  328.          work early and takes a long swim in the cooling tower of Unit 
  329.          2 at Three Mile Island. 
  330.          
  331.                                                                 Page 7
  332.          Obviously, cost is one of the great advantages of ESIE - its 
  333.          free.  So lets say you decide to use ESIE on your target 
  334.          project, and that you take five months and $300,000 to build 
  335.          Release One.  Let's also assume that, for whatever reason, 
  336.          you decide to pay for support for all fifty+ copies of ESIE 
  337.          that you need.  (That would certainly make my day!)  After 
  338.          your fifty station installation you realize you have only
  339.          spent $307,250.  The president of your corporation hands you 
  340.          the highest company award, and you get your picture on the 
  341.          cover of your company magazine - you are a hero. 
  342.          
  343.          In addition to cost, availability is also key to your success 
  344.          as an AI department.  You may freely make as many copies of 
  345.          the distribution diskette of ESIE as you like.  Try that with 
  346.          another ESS, and, if you get past the copy protection, do it 
  347.          while staying out of jail.  ESIE is instantly available to 
  348.          everyone in your group as well as everyone in your company.  
  349.          I personally have waited four months for a diskette to arrive 
  350.          - AFTER the check had been mailed from our accounting 
  351.          department.  You can use ESIE now and forever with ease. 
  352.          
  353.          Some of the other available packages that look really good to 
  354.          you may be difficult or impossible to obtain.  Many colleges 
  355.          and universities will be more than happy to discuss their 
  356.          latest and greatest at conventions but ask for a copy?  
  357.          Forget it.  Also, some systems will only run on certain 
  358.          machines - machines you may not have and certainly do not 
  359.          want to buy.  ESIE will run on any MS/PC DOS computer with 
  360.          color or monochrome monitor and only 128 KB of RAM. 
  361.          
  362.          ESIE is also easy to use and to learn.  Of the knowledge 
  363.          bases distributed with ESIE, both DOCTOR and ANIMAL took less 
  364.          than eight hours apiece to build.  I admit a little bias 
  365.          here, after all, I did build ESIE.  So, it may take you ten 
  366.          hours, but you probably are better than me at KBs so it may 
  367.          only take you six. 
  368.          
  369.          Another super advantage of ESIE is that you can obtain the 
  370.          source code.  If you want to see the insides of an inference 
  371.          engine this is one of the best ways to do it.  Most other 
  372.          system vendors get very edgy if you ask them how their system 
  373.          works.  Also, if you decide that there is a feature that you 
  374.          simply MUST have in an ESS then you can change ESIE to fit 
  375.          your needs.  However, if you print and fill out the file 
  376.          called FORM, with your requests for additional features, I 
  377.          might be persuaded to add them for you.  I certainly want to 
  378.          keep improving ESIE. 
  379.          
  380.          Last, but not least, is speed.  This is one of my own pet 
  381.          peeves concerning many ESSs today - they are just too slow.  
  382.          Many departments have switched to more powerful micros, such 
  383.          as the IBM PC AT (r), to offset slow software.  Well, ESIE 
  384.          will run on those, too, but it doesn't have to.  ESIE is 
  385.          fast, - very fast - compared to most ESSs in existence today.  
  386.                                                                 Page 8
  387.          Spend some time to do a benchmark of ESIE against any other 
  388.          system.  I think you will be pleasantly surprised. 
  389.          
  390.          All of the above are benefits to be gained from using ESIE: 
  391.          you drastically cut your costs (a hero maker in many a 
  392.          department), better availability to your software, easy to 
  393.          learn and use - cutting training time and costs and 
  394.          increasing productivity, obtainable source code, and much 
  395.          improved speed. 
  396.          
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.                                                                 Page 9
  442.  
  443.                   
  444.  
  445.                                ESIE Requirements
  446.                                             
  447.          
  448.          In order to use ESIE you don't need much at all.  For 
  449.          hardware you will need: an MS-DOS (r) or IBM (r) computer 
  450.          with at least 128 KB of RAM, and a monitor.  ESIE should run 
  451.          on any MS-DOS (r) computer, (it has been tested on several), 
  452.          but I just can not guarantee that it will run on your 
  453.          particular machine.  ESIE will run on the IBM PC jr, PC, XT, 
  454.          and AT (r).  
  455.  
  456.          ESIE uses colors to make the whole system more user friendly.  
  457.          Therefore, a color monitor is recommended, but not required.  
  458.          Personally, I prefer to work with colors, especially in 
  459.          something that may be hard to follow - like AI.  With a color 
  460.          monitor, ESIE: works with a blue background, has a top level 
  461.          with white text, asks questions in light cyan, gathers 
  462.          responses in light magenta, reports invalid responses in light 
  463.          red, performs trace functions in yellow, reports a completed 
  464.          session in yellow, and reports KB errors in light red. 
  465.          
  466.          For software you only need DOS version 2.0 or higher, 
  467.          (including 3.0 and 3.1), and a word processor.  Any word 
  468.          processor will do, but the word processor needs to be capable 
  469.          of producing flat or ASCII, files.  You probably already have 
  470.          all the software you need.  If you are not sure if your word 
  471.          processor produces flat ASCII files there are two tests: 1) 
  472.          try to build a short program with your word processor and run 
  473.          it through any compiler - if the compiler gets an upset 
  474.          stomach there is a good chance you need a different word 
  475.          processor, 2) take any text file you created with your 
  476.          editor, and at the DOS command level enter TYPE <fn>, where 
  477.          <fn> is the file you edited.  If your file looks like a video 
  478.          game then you need a different editor.  If it TYPEd your file 
  479.          as you had entered it then you are probably OK. 
  480.          
  481.          If your editor does not produce flat files then do not panic.  
  482.          If you pay for a copy of ESIE at the $145 price I will send 
  483.          you one.  The editor is called PC-Write (c) and it is a 
  484.          full-screen full-feature text editor.  Of all the editors I 
  485.          have I prefer PC-Write.  It just seems to "feel" the best for 
  486.          me.  PC-Write is also a shareware product.  I did not create 
  487.          PC-Write - it is a product of Quicksoft, Incorporated, and 
  488.          was written in whole or in part by Bob Wallace. If you can 
  489.          not stand waiting then you might check with your local PC 
  490.          User's Group - there is a good possibility they have 
  491.          PC-Write. 
  492.          
  493.          Many word processors produce flat files as a matter of 
  494.          course.  Nearly any text editor that is designed to be used 
  495.          by programmers, and therefore produce compilable source code, 
  496.                                                                Page 10
  497.          generally produce flat files.  Those word processors that are 
  498.          designed to be used primarily by office personnel, for the 
  499.          creation of correspondence, sometimes do not.  They use a 
  500.          compression scheme, and often a coding scheme to control 
  501.          paging, in order to save disk and RAM space.  I think it is a 
  502.          silly idea, but they never did listen to me. 
  503.          
  504.          If you are hell bent on using your current text editor, and 
  505.          it is one of those that do not produce flat files, then you 
  506.          still may be in luck.  In many of these editors you have an 
  507.          option of producing a flat file from your edited file through 
  508.          a process usually labeled exportation.  By selecting that 
  509.          option through a menu you can produce a flat file that 
  510.          compilers, and ESIE, can read.  One word of caution:  make a 
  511.          copy of your file FIRST before attempting exportation.  It 
  512.          seems that many companies did not bother to do much testing 
  513.          of this function and I have trashed many a file trying to 
  514.          export.  Importing the file, or getting it back into editor 
  515.          format, is usually much worse.  I wouldn't even attempt it if 
  516.          I were you, but good luck if you do. 
  517.          
  518.          In whatever editor you choose, the margins and spacing can be 
  519.          set to whatever you choose.  ESIE reads from the file in free 
  520.          format.  That means that your file can look pretty strange if 
  521.          you want it to.  As long as the syntax is in the correct 
  522.          order the file will load properly.  If it does not then ESIE 
  523.          will report an error in the knowledge base and return you to 
  524.          DOS. 
  525.          
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.                                                                Page 11
  552.  
  553.          
  554.                          The ESIE Distribution Diskette
  555.                                        
  556.  
  557.          The first thing you should do is make a backup copy of the 
  558.          ESIE distribution diskette.  This will protect you in case 
  559.          your working diskette gets damaged and will make it easier 
  560.          for you to pass along ESIE to your friends and associates.  
  561.          You can make a backup copy of ESIE using the DOS COPY or 
  562.          DISKCOPY command. 
  563.          
  564.          You are free, and encouraged, to distribute copies of the 
  565.          distribution diskette to friends and associates.  The 
  566.          definition of the distribution diskette is one that contains 
  567.          the following ten files in their original condition.  You may 
  568.          not distribute any file without the others.
  569.  
  570.          Everything you need except hardware, DOS and an editor, is on 
  571.          the ESIE distribution diskette.  These are the ten files 
  572.          found there: 
  573.          
  574.               ESIE.COM                   - the ESIE system.
  575.               MANUAL                     - this manual.
  576.               READ.ME                    - a quick start guide.
  577.               FORM                       - form to use for 
  578.                                            correspondence on ESIE.
  579.               ANIMAL                     - an animal KB.
  580.               GLASS                      - a glass KB.
  581.               DOCTOR                     - a doctor KB.
  582.               TUTOR                      - AI tutor.
  583.               USER                       - manual for the end users.
  584.               HISTORY                    - short history of AI.
  585.                               
  586.          
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.                                                                Page 12
  607.  
  608.          
  609.                                  Starting ESIE
  610.          
  611.  
  612.          Getting ESIE fired up will probably be one of the easiest 
  613.          things you do today.  The only two files you need in the 
  614.          computer to use ESIE are the ESIE.COM file and the file where 
  615.          the KB is.  Of course, you may have as many files out there 
  616.          as you wish.  For purposes of example, it will be assumed 
  617.          that you are using the ANIMAL example KB provided with the 
  618.          distribution diskette.  When you start to build your own KBs, 
  619.          simply substitute that file for ANIMAL.  ESIE will run in any 
  620.          drive and directory, including hard disks, as long as the 
  621.          ESIE.COM and KB files are present. 
  622.  
  623.          When you have at least the above two files where you want 
  624.          them, simply type in ESIE at the DOS prompt.  The ESIE 
  625.          introductory screen will appear.  It contains information 
  626.          about the Shareware concept and some benefits you will 
  627.          receive if you pay for your copy of ESIE. 
  628.          
  629.          At the top of the introductory screen is a prompt asking you 
  630.          to supply the file name where the knowledge base may be 
  631.          found.  You may enter any name you please.  If the file 
  632.          exists, then ESIE will attempt to load that file.  If no 
  633.          loading errors are found, then ESIE will take you to the top 
  634.          level. If there are errors in loading the KB, then ESIE will 
  635.          list where it found the errors and return you to DOS. If the 
  636.          file does not exist, then you have the option of trying 
  637.          again.  Just hitting the 'Y' or the 'N' key will answer this 
  638.          prompt.  ESIE loads files faster than most, if not all, other 
  639.          ESSs, but be patient if you are loading a very large KB, 
  640.          especially from floppy diskette. 
  641.          
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.                                                                Page 13
  662.  
  663.          
  664.                                The ESIE Top Level
  665.          
  666.  
  667.          You will know when you have reached the top level by the 
  668.          distinctive ESIE prompt.  It looks like this: "==>".  At the 
  669.          top level you have four different command options:  TRACE ON, 
  670.          TRACE OFF, GO, and EXIT.  While you can have as many leading 
  671.          and trailing blanks as you wish, ESIE is not quite free form 
  672.          on the command line; you must have one and only one space 
  673.          between the TRACE and YES/NO options.  Other than that, ESIE 
  674.          is free form. 
  675.          
  676.          Importantly, ESIE is case insensitive.  Caps look just the 
  677.          same as smalls to ESIE.  This is also true in the KB and in 
  678.          end user responses.  ESIE is case insensitive everywhere.  I 
  679.          like this feature.  I hate building rules to take care of the 
  680.          same idea but duplicated everywhere to take care of case, and 
  681.          the idea that a variable means something different because 
  682.          the first letter is capitalized drives me up the wall. 
  683.          
  684.          When you first enter the top level, trace is off by default.  
  685.          You can turn trace on using the TRACE ON command.  Use trace 
  686.          when you are building your own KB and want to follow 
  687.          execution in order to debug the KB.  Turning trace on will 
  688.          tell the system to constantly keep you informed of what it is 
  689.          currently looking for and what information it has learned. 
  690.          
  691.          You can turn the trace back off again by entering the TRACE 
  692.          OFF command. 
  693.          
  694.          The GO command is the command to tell ESIE to begin a 
  695.          consultation with the KB that was loaded.  ESIE will continue 
  696.          with this consultation until it is complete or until an error 
  697.          is found in the logic of the KB.  You may not turn trace on 
  698.          or off once a consultation has begun.  If the user types in 
  699.          TRACE ON, TRACE OFF, GO or EXIT in response to a question, 
  700.          then ESIE will treat that as the response to the question. 
  701.          
  702.          Once ESIE has completed the consultation, or found an error 
  703.          in the logic of the KB, it will return you to the top level 
  704.          for additional commands. 
  705.          
  706.          Use the EXIT command in order to leave ESIE and return to 
  707.          DOS.  After a consultation is complete, you have the option 
  708.          of entering ANY of the four commands, including GO, again. 
  709.          
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.                                                                Page 14
  717.  
  718.          
  719.          
  720.                             The ESIE Rule Structure
  721.                                 
  722.          
  723.          There are five types of rules in ESIE.  That's all.  Two of 
  724.          the rule types must be included once and only once, one may 
  725.          be included once or not at all, and the other two may be 
  726.          included from zero up to the maximum number of times, which, 
  727.          you will find, is quite large for a system like this. 
  728.          
  729.          If you are familiar with IBM (r) manuals, then you will 
  730.          probably be able to read the following; then again, those 
  731.          never were my favorite manuals.  Below is the syntax for the 
  732.          five types of rules in ESIE: 
  733.          
  734.  
  735.               [legalanswers is/are <variable> [<variable>]... *] 
  736.          
  737.               goal is <variable> 
  738.          
  739.               [if <variable> is/are <value> 
  740.                [and <variable> is/are <value>]... 
  741.                then <variable> is/are <value>]... 
  742.          
  743.               [question <variable> is/are "<text>"]...
  744.          
  745.               answer is/are "<text>" <variable>
  746.          
  747.          Let me list some specifics, first, then I'll go into what 
  748.          each rule does.  
  749.          
  750.          First and foremost: BLANKS are the only recognized delimiter 
  751.          in ESIE.  There must be at least one blank between any two 
  752.          tokens in the KB.  End-of-line and end-of-file are treated 
  753.          like blanks.  This may seem a little cumbersome at first, 
  754.          especially to those of you who are used to special 
  755.          characters, such as quotation marks, also being considered as 
  756.          delimiters.  ESIE is built this way primarily for speed.  If 
  757.          blanks are the only recognized delimiter, then file loading 
  758.          can occur at a much greater clip.  Anyway, I believe you will 
  759.          soon get used to tapping the space bar if you are not 
  760.          currently doing so. 
  761.          
  762.          In the syntax above the '/' means "either or"  you must 
  763.          choose between 'is' and 'are' for that one spot.  This 
  764.          capability was added basically to enhance the readability of 
  765.          your new knowledge bases. 
  766.          
  767.          The definition of <variable> and <value> might be a little 
  768.          different to what you are used to.  In ESIE a <variable> or 
  769.          <value> can be ANY string of non-blank characters, including 
  770.          special and extended ASCII characters, up to 40 characters 
  771.                                                                Page 15
  772.          long.  Blanks may not appear in a <variable> or <value>.  
  773.          ESIE will treat small and capital letters identically.  
  774.          Therefore, all the following are valid <variables> and 
  775.          <values>: 
  776.          
  777.               1234567890()*&^%$#@!+_=[]{}
  778.          
  779.               ..........................
  780.          
  781.               wow!.i.can.type.in.anything
  782.          
  783.               WOW!.I.can.TYPE.in.ANYTHING
  784.          
  785.          The last two of the above are identical as far as ESIE is 
  786.          concerned.  Although special characters are valid in 
  787.          <variables> and <values>, and may even lead such items, it 
  788.          would be a good idea to stay away from the mathematical 
  789.          symbols.  Although ESIE does not currently do math, (it 
  790.          currently is designed for ideas, symbols, and other uses), 
  791.          that capability will probably be added in the future.  
  792.          Therefore, if your KB is loaded full of math symbols, it may 
  793.          not be compatible from one version of ESIE to the next.  In 
  794.          this regard, especially look out for the minus sign - it 
  795.          habitually gets used in multi-word <variables>.  A better 
  796.          alternative would be to use the period. 
  797.          
  798.          The symbol "..." in the rule definition above means "repeat 
  799.          as often as desired", and that is exactly what you may do, as 
  800.          long as you are not exceeding some maximum. 
  801.          
  802.          The brackets mean that the item is optional.  You will note 
  803.          that LEGALANSWERS, IF, and QUESTION type rules may not even 
  804.          be included in the KB, although a KB without rules isn't 
  805.          going to be of much use. 
  806.          
  807.          The GOAL and ANSWER rules types must be included, and must be 
  808.          in the KB only once.  If the LEGALANSWERS rule type is 
  809.          included, it can only be included once. 
  810.          
  811.          Although the above way of listing rules is the order I prefer 
  812.          in a KB, there is absolutely no requirement that rules be 
  813.          placed in the KB in any order.  In a fully-structured KB, in 
  814.          fact, the order of the rules is totally inconsequential, any 
  815.          rule or any rule type may come before or after any other rule 
  816.          or rule type.  In some KBs the structure is not complete, so 
  817.          it may be wise to place some rules before others.  I'll make 
  818.          this more clear in the Building Your Own Knowledge Base 
  819.          section. 
  820.          
  821.          The <text> parts of the above rule types may be any of the 
  822.          256 characters of the extended ASCII character set except for 
  823.          the quotation mark.  The quotation mark terminates <text>.  
  824.          Spaces are allowed in <text>, but double quotation marks - to 
  825.          indicate a single - are not.  <text> may be up to 80 
  826.                                                                Page 16
  827.          characters long and may include end-of-line characters, page 
  828.          feeds, or whatever you wish to improve the appearance of your 
  829.          output. 
  830.          
  831.          Enough of the specifics, now I'll try to let you know what 
  832.          these rules do. 
  833.          
  834.          The LEGALANSWERS rule is used to constrict what the end user 
  835.          of your KB can use as responses.  This is very useful to keep 
  836.          the end user on track, and to correct him in case of typos or 
  837.          misunderstandings.  Using LEGALANSWERS can make testing your 
  838.          KB much easier and more complete.  If LEGALANSWERS is 
  839.          omitted, then anything the end user types in is a valid 
  840.          response.  The splat, (*), is used to terminate the 
  841.          LEGALANSWERS rule.  Although the splat, by itself, is a 
  842.          totally valid <variable> or <value> I didn't think many of 
  843.          you would want that as a valid response, so I use it as a 
  844.          terminator.  In the ANIMAL sample KB, for example, I restrict 
  845.          responses to YES and NO. 
  846.          
  847.          The GOAL rule specifies what you are looking for, that is, it 
  848.          determines what this consultation and KB are all about.  The 
  849.          IF rules and the QUESTION rules are used by ESIE to try and 
  850.          find out what the <variable> of the GOAL should be set to.  
  851.          In the ANIMAL KB the GOAL IS TYPE.ANIMAL. 
  852.          
  853.          The IF rules are the real meat of any KB.  Here's how they 
  854.          work:  the <variable> right after the IF is evaluated, and 
  855.          the evaluated value is compared to the <value> if the two are 
  856.          identical, then any AND parts are compared the same way.  
  857.          Comparison stops on any rule were an IF part or an AND part 
  858.          do not compare identically.  However, if they are all 
  859.          identical then the rule succeeds and the <variable> 
  860.          immediately after the THEN is set to the last <value> 
  861.          specified in the rule.  For example: 
  862.          
  863.                          if age is over.18
  864.                          and status is alive
  865.                          then type.person is living.adult
  866.          
  867.          Let's assume that age has already been set to 'over.18', that 
  868.          status has been set to 'alive', and GOAL is TYPE.PERSON.  
  869.          ESIE begins looking through the KB, starting at the top, for 
  870.          IF rules that could satisfy the type.person goal.  When it 
  871.          finds the above rule it determines that yes, age is over.18 
  872.          and status is alive, so the rule succeeds and type.person is 
  873.          set to living.adult.  At this point evaluation stops and ESIE 
  874.          makes its report and returns you to the top level. 
  875.          
  876.          The QUESTION rules are evoked by ESIE when it has gone 
  877.          through the entire KB and can find no IF rule that satisfies 
  878.          what it is currently looking for.  It then checks to see if 
  879.          it has a question that it can ask the end user so that it may 
  880.          determine what a <variable> should be.  The <text> part of 
  881.                                                                Page 17
  882.          the question is displayed and whatever the end user types in 
  883.          is what <variable> is set to, if the response is legal.  If 
  884.          LEGALANSWERS has been specified, then the response is checked 
  885.          to see if it is one of legal ones.  If it is not a legal 
  886.          response, then ESIE will list the possible responses, and ask 
  887.          the question again. This will continue until the end user has 
  888.          selected one of the legal answers.  If it is legal, then the 
  889.          <variable> specified in the QUESTION rule will be set to the 
  890.          response.  If LEGALANSWERS has not been specified, then 
  891.          whatever the user types in is legal. 
  892.          
  893.          The ANSWER rule is used only when ESIE is done.  After ESIE 
  894.          has found the <variable> in the goal statement he will 
  895.          display the <text> in the answer statement followed by the 
  896.          <value> evaluated from the <variable> in the ANSWER rule.  
  897.          You will note that you do not have to display the same 
  898.          <variable> as in the GOAL statement, but that you will often 
  899.          want to. 
  900.          
  901.          Now for some limits.  Just how much of this can you enter?  
  902.          Lots: 
  903.          
  904.               Up to 50 <variables> for LEGALANSWERS.
  905.               1 and only 1 GOAL.
  906.               Up to 400 IF rule lines.
  907.               Up to 100 QUESTION rules.
  908.               1 and only 1 ANSWER.
  909.          
  910.          An IF rule line is a <variable> <value> pair.  For example: 
  911.          
  912.                         if age is under.10
  913.                         then type.person is child
  914.          
  915.          has two rule lines, while:
  916.          
  917.                         if age is over.18
  918.                         and status is alive
  919.                         then type.person is living.adult
  920.          
  921.          has three.
  922.          
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.                                                                Page 18
  937.  
  938.          
  939.                           Some Sample Knowledge Bases
  940.                                     
  941.          
  942.          In order to get you used to the ESIE rule structure, three 
  943.          sample KBs have been included on the distribution diskette. 
  944.          
  945.          ANIMAL is a KB that plays "twenty questions" with you in 
  946.          order to find out what type of animal you are thinking about.  
  947.          Before typing in 'GO' to ESIE, after loading the ANIMAL KB, 
  948.          think of an animal you want ESIE to try and find.  Answer the 
  949.          questions put to you about the animal and ESIE will find out 
  950.          what animal it is in far less than twenty questions.  ANIMAL 
  951.          is a decision tree KB that is fully structured. 
  952.          
  953.          This is what a session with ANIMAL looks like.  The splats 
  954.          indicate output from ESIE: 
  955.          
  956.               go
  957.               Does your animal have a backbone?                      *
  958.               yes
  959.               Is the animal warm blooded?                            *
  960.               yes
  961.               Normally, does the female of your animal nurse         *
  962.                    its young with milk?                              *
  963.               yes
  964.               Does your animal eat red meat?                         *
  965.               yes
  966.               Does your animal have finger wings?                    *
  967.               no
  968.               Does your animal have an opposing thumb?               *
  969.               yes
  970.               Does your animal have a prehensile tail?               *
  971.               no
  972.               Is your animal nearly hairless?                        *
  973.               yes
  974.                                                                      *
  975.               I think you animal is a MAN                            *
  976.                                                                      *
  977.               I have completed this analysis.                        *
  978.                                                                      *
  979.               ==>                                                    *
  980.          
  981.  
  982.          DOCTOR is a KB that is used to diagnose diseases in children.  
  983.          Do not take DOCTOR too literally, please.  I am no physician, 
  984.          and the information in the KB came out of a single book.  The 
  985.          KB was built in about 8 hours.  The DOCTOR KB is there just 
  986.          to show off ESIE and is not meant to replace your physician.  
  987.          DOCTOR is a decision tree KB also and is not fully 
  988.          structured. 
  989.          
  990.          I coded DOCTOR and ANIMAL in two distinct styles in order to 
  991.                                                                Page 19
  992.          demonstrate ESIE's capabilities.  Take a minute to review 
  993.          them and learn how they operate. 
  994.          
  995.          GLASS is rather special for me.  First, I didn't write it.  I 
  996.          asked a friend of mine to be one of my beta testers for ESIE 
  997.          and she came up with GLASS.  She has no experience in AI 
  998.          whatsoever.  GLASS demonstrates ESIE's ease of use.  GLASS is 
  999.          used to give an evaluation of antique or depression era 
  1000.          glass, which has gathered quite a following from what I 
  1001.          understand. 
  1002.          
  1003.  
  1004.  
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.                                                                Page 20
  1047.  
  1048.          
  1049.                         Building Your Own Knowledge Base
  1050.                                          
  1051.                                     
  1052.          Since you are a qualified practitioner of AI I certainly am 
  1053.          not going to try and tell you how to build your own KBs. 
  1054.          
  1055.          I assume that you have done all the necessary front work and 
  1056.          are prepared with all the information you need. 
  1057.          
  1058.          One thing that I can tell you about rule positioning.  When 
  1059.          you have a KB that is not fully structured, rule positioning 
  1060.          can be important.  You need only worry about rule positioning 
  1061.          if the <variables> in the conclusions are identical, and the 
  1062.          comparators are similar.  This becomes obvious in the 
  1063.          following two rule example: 
  1064.          
  1065.                if has.fever is yes
  1066.                then type.disease is roseola
  1067.          
  1068.                if has.fever is yes
  1069.                and has.inflamed.ears is yes
  1070.                then type.disease is serious.ear.infection
  1071.          
  1072.          As ESIE is searching for 'type.disease' he comes across the 
  1073.          first rule and invokes a QUESTION for has.fever.  The end 
  1074.          user specifies yes so ESIE concludes that type.disease is 
  1075.          roseola and terminates this consultation.  However, the child 
  1076.          really had a serious ear infection, but ESIE never got that 
  1077.          far.  A better way to arrange the rules would be: 
  1078.          
  1079.                if has.fever is yes
  1080.                and has.inflamed.ears is yes
  1081.                then type.disease is serious.ear.infection
  1082.          
  1083.                if has.fever is yes
  1084.                then type.disease is roseola
  1085.          
  1086.          Now, when ESIE encounters the first rule he invokes a 
  1087.          question to find has.fever.  Since the answer is yes he 
  1088.          invokes the QUESTION to determine if the child has inflamed 
  1089.          ears.  Since the answer is yes, ESIE reaches the correct 
  1090.          conclusion that the type.disease is a serious ear infection. 
  1091.          
  1092.          In general, you only need to worry about rule placement in 
  1093.          the IF category, when the <variables> in the conclusion are 
  1094.          identical, and the comparators are similar. 
  1095.  
  1096.          To build your own KB simply use your chosen text editor to 
  1097.          edit a file and start filling the file with rules.  I might 
  1098.          suggest, dear reader, that you make a couple of "play" KBs 
  1099.          just to get used to ESIE, before you really dig in with the 
  1100.          real world ones.  Follow the guidelines for ESIE outlined in 
  1101.                                                                Page 21
  1102.          The ESIE Rule Structure, and I'm sure you will have no 
  1103.          problem.  Although I would love to help everyone out there 
  1104.          who is trying to debug a KB, I will offer telephone support 
  1105.          only to the individuals who have paid the $145 price for 
  1106.          ESIE. 
  1107.  
  1108.          When you have enough rules in a KB to test what you have, 
  1109.          simply start ESIE the way you would ANIMAL.  When you get to 
  1110.          the top level I suggest you turn trace on until you have the 
  1111.          KB fully debugged.  Then run through it, testing paths, using 
  1112.          the GO command.  Good luck!  (I know, you are not 
  1113.          superstitious, but it can't hurt, can it?) 
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.  
  1141.  
  1142.  
  1143.  
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149.  
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.                                                                Page 22
  1157.  
  1158.          
  1159.                        What Happens During A Consultation
  1160.                                            
  1161.          
  1162.          After ESIE has loaded the KB into internal structures, and 
  1163.          the GO command has been issued, ESIE then pushes the GOAL 
  1164.          onto a stack.  The stack contains items to be searched for, 
  1165.          currently looking for the one at the top of the stack.  Then 
  1166.          ESIE looks through the IF rules for a conclusion that matches 
  1167.          the current stack.  When one is found then ESIE looks through 
  1168.          the comparators, one at a time, until one is found to be not 
  1169.          equal to its value, or they are all found to be equal. 
  1170.          
  1171.          ESIE checks each comparator by pushing it on the stack and 
  1172.          continuing in this fashion.  When ESIE can not find an IF 
  1173.          rule in the KB with a conclusion identical to what is on the 
  1174.          stack then ESIE turns to the QUESTIONs and LEGALANSWERS to 
  1175.          get information from the end user.  Any legal response is 
  1176.          what the <variable> is set to.  
  1177.          
  1178.          Often ESIE does not need to push anything on the stack as the 
  1179.          comparator already has a value and it is equal to the value 
  1180.          specified in the KB.  In this case the rule succeeds and the 
  1181.          conclusion <variable> is set to the <value>.  In this way 
  1182.          ESIE continues to get information and pop search items off 
  1183.          the stack until it learns what the GOAL variable is, or until 
  1184.          ESIE has searched the entire KB and found nothing that 
  1185.          determines what the GOAL <variable> is.  In the later case 
  1186.          ESIE reports an error in the knowledge base and returns you 
  1187.          to top level.  In the former, ESIE reports the ANSWER <text> 
  1188.          and <variable> and then returns you to top level. 
  1189.          
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.                                                                Page 23
  1212.  
  1213.  
  1214.                   
  1215.                Paying For and Obtaining the Next Version of ESIE
  1216.                                                           
  1217.          
  1218.          Now comes the part we all hate to discuss.  What is ESIE 
  1219.          going to cost?  Well, that is totally up to you.  I happen to 
  1220.          be one of those people that believe that most people are 
  1221.          honest and will pay for something they find useful.  I also 
  1222.          believe that most software costs too much, and that all AI 
  1223.          software costs way too much.  I dislike copy protection 
  1224.          schemes and there are none in ESIE. And I believe that you 
  1225.          will want to see ESIE grow and be supported. 
  1226.          
  1227.          If you feel that ESIE is useful to you, send what your 
  1228.          conscience dictates.  However, if you send at least $75 you 
  1229.          will receive the most recent version of ESIE, free.  If you 
  1230.          send at least $145 you will receive: the most recent version 
  1231.          of ESIE, fully  commented source code for ESIE (ESIE was 
  1232.          written in Pascal), my sincere thanks for your support, a 
  1233.          copy of PC-Write (c) - a shareware full-feature text editor 
  1234.          fully compatible with ESIE, and access to a help line, all 
  1235.          free. 
  1236.          
  1237.          Regardless of how you feel towards ESIE, I ask that you do 
  1238.          two things: 1)  Print and fill out the file FORM so that I 
  1239.          may keep improving ESIE, and 2) share copies of the 
  1240.          distribution diskette with at least two people, preferably 
  1241.          one of them outside your organization.  
  1242.          
  1243.          I think of ESIE as living software: software that continues 
  1244.          to develop and get better, more powerful.  I believe ESIE is 
  1245.          a useful tool as it is, but can be improved.  However, 
  1246.          support for living software must come from somebody.  Even 
  1247.          software authors and AI researchers can't live on discovery 
  1248.          and love alone.  In shareware this support comes from you - 
  1249.          the user. 
  1250.  
  1251.          Mail and money for ESIE can be sent to: Lightwave Consultants; 
  1252.          P.O. Box 290539; Tampa, FL 33617. 
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266.                                                                Page 24
  1267.  
  1268.          
  1269.                           Planned Enhancements to ESIE
  1270.                                      
  1271.          
  1272.          As the current version of ESIE is being wrapped up and taken 
  1273.          out of beta test, a few additional capabilities for ESIE have 
  1274.          been suggested.  Some of these sound like good ideas and are 
  1275.          listed below.  They will be part of ESIE version 2.0. 
  1276.          
  1277.          1.  Adding the capability for introductory text to explain 
  1278.              the KB.
  1279.          
  1280.          2.  Adding the capability for more terminating text, to 
  1281.              explain the conclusion more fully.
  1282.          
  1283.          3.  Designating legal responses on a question by question 
  1284.              as well as global basis.
  1285.          
  1286.          4.  Performing some type of automatic completion of 
  1287.              responses, so the end user does not have to key in the 
  1288.              entire response every time. 
  1289.          
  1290.               A.  I'm not so sure about this one.  Why not just 
  1291.                   include those as part of the LEGALANSWERS?
  1292.          
  1293.          5.  Numerical computations.
  1294.          
  1295.          6.  A 256 KB RAM ESIE.
  1296.          
  1297.          7.  A 512 KB RAM ESIE.
  1298.          
  1299.          8.  A 1 MB RAM ESIE.
  1300.          
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.                                                                Page 25
  1322.  
  1323.          
  1324.                                   Bibliography
  1325.                      
  1326.          
  1327.          Classification of the Animal Kingdom, An Introduction of 
  1328.          Evolution; by Kenneth Jon Rose; David McKay Company, Inc., 
  1329.          New York, 1980.
  1330.          
  1331.          The Common Sense Book of Baby and Child Care; by Benjamin 
  1332.          Spock, M.D.; Duell, Sloan, & Pearce, New York; 1957. 
  1333.  
  1334.  
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346.  
  1347.  
  1348.  
  1349.  
  1350.  
  1351.  
  1352.  
  1353.  
  1354.  
  1355.  
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.